﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ХарактерЗатрат
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b82b2957-3414-4475-9395-ee20a93477c3\", \"Представление\":\"БракВПроизводстве\"}")]
		БракВПроизводстве = 0,//Брак в производстве
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5e38969e-2554-44cf-9505-6792ac43f93e\", \"Представление\":\"ВложенияВоВнеоборотныеАктивы\"}")]
		ВложенияВоВнеоборотныеАктивы = 1,//Вложения во внеоборотные активы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"96f66e7f-8492-4482-ae57-3535d168baf0\", \"Представление\":\"ИздержкиОбращения\"}")]
		ИздержкиОбращения = 2,//Издержки обращения
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"6059afeb-2ad1-40ca-a4af-60d753164ed1\", \"Представление\":\"КоммерческиеРасходы\"}")]
		КоммерческиеРасходы = 3,//Коммерческие расходы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"e077af13-0de9-4e01-9a2f-d390c4dc5fd7\", \"Представление\":\"ОбщепроизводственныеРасходы\"}")]
		ОбщепроизводственныеРасходы = 4,//Общепроизводственные расходы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"a7d99938-5d44-47ea-809d-5077ad80b98e\", \"Представление\":\"ОбщехозяйственныеРасходы\"}")]
		ОбщехозяйственныеРасходы = 5,//Общехозяйственные расходы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f8e4d522-4dc5-4f1b-acbc-fe865170b37e\", \"Представление\":\"ПроизводственныеРасходы\"}")]
		ПроизводственныеРасходы = 6,//Производственные расходы
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b1ad5d88-4727-4556-a3b1-8ceaf8b58aa9\", \"Представление\":\"Прочие\"}")]
		Прочие = 7,
		[EnumMember(Value = "{\"Ссылка\":\"d012d32e-c5ed-428f-8128-2bda95bcd7b3\", \"Представление\":\"НеУчитываемыеВУправленческомУчете\"}")]
		НеУчитываемыеВУправленческомУчете = 8,//Не учитываемые в управленческом учете
		[EnumMember(Value = "{\"Ссылка\":\"634a0c3a-e564-49c5-9b61-8afbd80882a7\", \"Представление\":\"ЗаготовлениеИПриобретениеМЦ\"}")]
		ЗаготовлениеИПриобретениеМЦ = 9,//Заготовление и приобретение материальных ценностей
	}
	public static partial class ХарактерЗатрат_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid БракВПроизводстве = new Guid("20ee9593-34a9-c377-4475-3414b82b2957");//Брак в производстве
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВложенияВоВнеоборотныеАктивы = new Guid("92670595-43ac-3ef9-44cf-25545e38969e");//Вложения во внеоборотные активы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ИздержкиОбращения = new Guid("353557ae-68d1-f0ba-4482-849296f66e7f");//Издержки обращения
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid КоммерческиеРасходы = new Guid("d760afa4-1653-d14e-40ca-2ad16059afeb");//Коммерческие расходы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОбщепроизводственныеРасходы = new Guid("90d32f9a-dcc4-d75f-4e01-0de9e077af13");//Общепроизводственные расходы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОбщехозяйственныеРасходы = new Guid("77509d80-80ad-8eb9-47ea-5d44a7d99938");//Общехозяйственные расходы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПроизводственныеРасходы = new Guid("86febcac-7051-7eb3-4f1b-4dc5f8e4d522");//Производственные расходы
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Прочие = new Guid("ea8cb1a3-b5f8-a98a-4556-4727b1ad5d88");
		public static readonly Guid НеУчитываемыеВУправленческомУчете = new Guid("da2b2881-bc95-b3d7-428f-c5edd012d32e");//Не учитываемые в управленческом учете
		public static readonly Guid ЗаготовлениеИПриобретениеМЦ = new Guid("fb8a619b-08d8-a782-49c5-e564634a0c3a");//Заготовление и приобретение материальных ценностей
		public static ХарактерЗатрат Получить(this ХарактерЗатрат Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ХарактерЗатрат Получить(this ХарактерЗатрат Значение, Guid Ссылка)
		{
			if(Ссылка == БракВПроизводстве)
			{
				return ХарактерЗатрат.БракВПроизводстве;
			}
			else if(Ссылка == ВложенияВоВнеоборотныеАктивы)
			{
				return ХарактерЗатрат.ВложенияВоВнеоборотныеАктивы;
			}
			else if(Ссылка == ИздержкиОбращения)
			{
				return ХарактерЗатрат.ИздержкиОбращения;
			}
			else if(Ссылка == КоммерческиеРасходы)
			{
				return ХарактерЗатрат.КоммерческиеРасходы;
			}
			else if(Ссылка == ОбщепроизводственныеРасходы)
			{
				return ХарактерЗатрат.ОбщепроизводственныеРасходы;
			}
			else if(Ссылка == ОбщехозяйственныеРасходы)
			{
				return ХарактерЗатрат.ОбщехозяйственныеРасходы;
			}
			else if(Ссылка == ПроизводственныеРасходы)
			{
				return ХарактерЗатрат.ПроизводственныеРасходы;
			}
			else if(Ссылка == Прочие)
			{
				return ХарактерЗатрат.Прочие;
			}
			else if(Ссылка == НеУчитываемыеВУправленческомУчете)
			{
				return ХарактерЗатрат.НеУчитываемыеВУправленческомУчете;
			}
			else if(Ссылка == ЗаготовлениеИПриобретениеМЦ)
			{
				return ХарактерЗатрат.ЗаготовлениеИПриобретениеМЦ;
			}
			return ХарактерЗатрат.ПустаяСсылка;
		}
		public static byte[] Ключ(this ХарактерЗатрат Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ХарактерЗатрат Значение)
		{
			switch (Значение)
			{
				case ХарактерЗатрат.БракВПроизводстве: return БракВПроизводстве;
				case ХарактерЗатрат.ВложенияВоВнеоборотныеАктивы: return ВложенияВоВнеоборотныеАктивы;
				case ХарактерЗатрат.ИздержкиОбращения: return ИздержкиОбращения;
				case ХарактерЗатрат.КоммерческиеРасходы: return КоммерческиеРасходы;
				case ХарактерЗатрат.ОбщепроизводственныеРасходы: return ОбщепроизводственныеРасходы;
				case ХарактерЗатрат.ОбщехозяйственныеРасходы: return ОбщехозяйственныеРасходы;
				case ХарактерЗатрат.ПроизводственныеРасходы: return ПроизводственныеРасходы;
				case ХарактерЗатрат.Прочие: return Прочие;
				case ХарактерЗатрат.НеУчитываемыеВУправленческомУчете: return НеУчитываемыеВУправленческомУчете;
				case ХарактерЗатрат.ЗаготовлениеИПриобретениеМЦ: return ЗаготовлениеИПриобретениеМЦ;
			}
			return Guid.Empty;
		}
	}
}